package com.divemotor.ventarepuestosinternet.service.impl;

import java.io.Serializable;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.divemotor.ventarepuestosinternet.dao.DepartamentoDAO;
import com.divemotor.ventarepuestosinternet.exception.DivemotorBusinessException;
import com.divemotor.ventarepuestosinternet.model.Departamento;
import com.divemotor.ventarepuestosinternet.model.Pais;
import com.divemotor.ventarepuestosinternet.service.DepartamentoService;
import com.divemotor.ventarepuestosinternet.util.DatosDeSession;


@Service (value = "departamentoService")
@Transactional(rollbackFor=Exception.class)
public class DepartamentoServiceImpl implements DepartamentoService,Serializable{

	private static final long serialVersionUID = 1L;

	@Autowired
	private DepartamentoDAO departamentoDAO;
	
	@Override
	public List<Departamento> listarDepartamentoPorPais(
		Departamento departamento) throws  DivemotorBusinessException {
		return departamentoDAO.listarDepartamentoPorPais(departamento);
	}

	@Override
	public Departamento obtenerPorCodigoId(Departamento departamento) throws DivemotorBusinessException {		
		return departamentoDAO.obtenerPorCodigoId(departamento);
	}

	@Override
	public List<Departamento> listarDepartamentosPorPaisActual() throws DivemotorBusinessException {
		Pais pais = new Pais();
		pais =	DatosDeSession.obtenerPaisDelUsuarioAutenticado();
		return departamentoDAO.listarDepartamentoPorPaisActual(pais);
	}

}
